package cn.tkb.pet.service;

import cn.tkb.basic.service.IBaseService;
import cn.tkb.basic.util.PageQuery;
import cn.tkb.pet.domain.Pet;
import cn.tkb.pet.domain.SearchMasterMsg;
import cn.tkb.pet.query.SearchMasterMsgQuery;
import cn.tkb.user.domain.LoginInfo;

public interface ISearchMasterMsgService extends IBaseService<SearchMasterMsg> {
    /**
     * 寻主消息发布接口
     * @param searchMasterMsg
     * @param loginInfo
     */
    void publish(SearchMasterMsg searchMasterMsg, LoginInfo loginInfo);

    /**
     * 用户查询自己的发布消息
     * @param query
     * @param currentLoginInfo
     * @return
     */
    PageQuery<SearchMasterMsg> userSearchMsg(SearchMasterMsgQuery query, LoginInfo currentLoginInfo);

    /**
     * 查询待处理消息
     * @param query
     * @param currentLoginInfo
     * @return
     */

    PageQuery<SearchMasterMsg> pending(SearchMasterMsgQuery query, LoginInfo currentLoginInfo);

    /**
     * 查询已处理消息
     * @param query
     * @param currentLoginInfo
     * @return
     */

    PageQuery<SearchMasterMsg> processed(SearchMasterMsgQuery query, LoginInfo currentLoginInfo);

    /**
     * 处理寻主消息
     * @param pet
     * @param currentLoginInfo
     */
    void handle(Pet pet, LoginInfo currentLoginInfo);
}
